Customized placement of advertising content is becoming increasingly important when delivering digital video programming. In such systems, just-in-time ad placement is preferable because it typically results in increased effectiveness of the ad. When ads are placed close to but before the time at which a user views the ad, ads can be selected based on the recent history of ad-viewing behavior for the current subscriber, as well as other subscribers. The types of history that may be examined include trick mode (skipping, reviewing), frequency at which ads are invoked by the user, and frequency at which ads are consumed by the user. Other selection criteria for just-in-time ad placement can include time of day at which the ad is viewed, and obsolescence of the advertised event (e.g., an ad for a Saturday sale viewed on Sunday morning).
Conventional ad placement systems are optimized for relatively low numbers of unique streams (on the order of hundreds), while next generation systems will be expected to scale for tens of thousands of unique streams, or even more. In conventional systems which include ad placement servers and ad selection servers, each server has an upper transaction processing limit. In many usage scenarios involving increased numbers of unique streams, bursts of ad decisions will tend to peak and overrun the processing and/or I/O resources of one or both servers. Thus, a need arises for these and other problems to be addressed.